package devcamp.team.util;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

/**
 * 本アプリケーションで使用するSharedPreferenceを集めたクラス.
 * @author moonstruckdrops
 *
 */
public class PreferenceUtils {
    private static final String KEY_NICK_NAME = "NickName";
    private static final String KEY_TWITTER_ID = "TwitterId";
    private static final String KEY_UNIQUE_ID = "UniqueId";
    /**
     * コンテキスト.
     */
    private Context context;
    /**
     * プリファレンス.
     */
    private SharedPreferences mSharedPreferences;


    /**
     * コンストラクタ.<br/>
     * コンテキストとプリファレンスを初期化する.
     * @param context コンテキスト
     */
    public PreferenceUtils(Context context) {
        this.context = context.getApplicationContext();
        mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this.context);
    }

    /**
     * ニックネームを設定する.
     * @param name 設定する名前
     */
    public void setNickName(String name) {
        mSharedPreferences.edit().putString(KEY_NICK_NAME, name).commit();
    }

    /**
     * ニックネームを取得する.
     * @return ニックネーム
     */
    public String getNickName() {
        return mSharedPreferences.getString(KEY_NICK_NAME, null);
    }

    /**
     * TwitterIDを設定する.
     * @param twitterId 設定するTwitterID
     */
    public void setTwitterId(String twitterId) {
        mSharedPreferences.edit().putString(KEY_TWITTER_ID, twitterId).commit();
    }

    /**
     * TwitterIDを取得する.
     * @return TwitterID
     */
    public String getTwitterId() {
        return mSharedPreferences.getString(KEY_TWITTER_ID, null);
    }

    /**
     * ユニークIDを設定する.
     * @param uniqueId ユニークID
     */
    public void setUniqueId(long uniqueId) {
        mSharedPreferences.edit().putLong(KEY_UNIQUE_ID, uniqueId).commit();
    }

    /**
     * ユニークIDを取得する.
     * @return ユニークID
     */
    public long getUniqueId() {
        return mSharedPreferences.getLong(KEY_UNIQUE_ID, -1);
    }

}
